﻿Namespace moteurTauxGaranti1

#Region "Scénario central"
    ''' <summary>
    ''' Scénario central du moteur de calcul par équilibre tarifaire
    ''' </summary>
    ''' <remarks></remarks>
    Public Class scenarioCentralMoteur1
        Inherits CalculAutonomeMoteur1

        ''' <summary>
        ''' Constructeur
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub New(ByVal moteur As IIntegMoteur_MethodeEqTarif)
            MyBase.New(moteur)
            AddHandler Me.EtatCalculChanged, AddressOf onEtatCalculChanged
        End Sub

        Private Sub OnEtatCalculChanged()
            If Me.EtatCalcul <> PTIC_Util.ValueEtatCalcul.A_JOUR Then
                _resultats = New resultatsMoteur1()
            End If
        End Sub

        ''' <summary>
        ''' Procédure de calcul du moteur de calcul 1
        ''' </summary>
        ''' <remarks></remarks>
        Protected Overrides Sub procedureCalcul()
            _moteur.calculeInit()
            If (_moteur.tableTravail.Columns.Contains("sexe_assu") And _
                _moteur.tableTravail.Columns.Contains("id_option")) <> True Then
                MsgBox("Le sexe et l'identifiant option doivent faire partie de la segmentation")
                Exit Sub
            End If
            _moteur.calcule(True)
            _moteur.calculeCloture()
            resultats.PPurePf = _moteur.PPurePf
            resultats.PTechPf = _moteur.PTechPf
            resultats.sommeCSR = _moteur.sommeCSR
            resultats.CalculsDetailles = _moteur.tableTravail
        End Sub

    End Class
#End Region

End Namespace